#ifndef SKINITEM_H
#define SKINITEM_H

#include <QWidget>

class SkinItem : public QWidget
{
    Q_OBJECT
public:
    explicit SkinItem(QString path, QWidget *parent = 0);

    // 按钮是否为选中状态
    void setSelected(bool bl);

signals:
    void itemClicked();

protected:
    void enterEvent(QEvent *event);
    void leaveEvent(QEvent *event);
    void paintEvent(QPaintEvent *event);
    void mousePressEvent(QMouseEvent *event);

private:
    QString m_path;             // 图片的路径
    const int WIDTH = 225;      // 窗口的固定宽度
    const int HEIGHT = 110;     // 窗口的固定高度
    bool m_isBorder = false;    // 是否绘制边框
    bool m_isSelect = false;    // 是否被选中
};

/********************************************************************************
 *                              华丽的分割线
 *                          Class: SkinItemWidget
 ********************************************************************************/
class SkinItemWidget : public QWidget
{
    Q_OBJECT
public:
    explicit SkinItemWidget(QString path, QWidget *parent = 0);
    explicit SkinItemWidget(QString path, QString name, QString author, QWidget *parent = 0);

    // 初始化布局
    void initSkinItemWidget();
    QString getImageName();
    QString getImageAuthor();
    // 设置图片的名字和作者
    void setImageInfo(QString name, QString author = "360");
    void setSelected(bool bl = true);

signals:
    void itemClicked();

private:
    SkinItem* m_item;
    QString m_path;     // 图片的路径
    QString m_name;     // 图片的名字
    QString m_author;   // 图片的作者
};

#endif // SKINITEM_H
